package com.ctshk.rpc.finance.dto.special;

import com.ctshk.rpc.finance.json.FileJson;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 特殊收款详情Dto
 */
@Data
@ApiModel(value = "SpecialCollectionDetailDTO",description = "特殊收款详情Dto")
public class SpecialCollectionDetailDTO implements Serializable {

    @ApiModelProperty(value = "特殊收款单号")
    private String collectionNumber;

    @ApiModelProperty(value = "收款类型1 补贴，2 供应商预订单")
    private Integer collectionType;

    @ApiModelProperty(value = "补贴来源类型1 旅行团，2 定制包团")
    private Integer subsidySource;

    @ApiModelProperty(value = "付款方")
    private String payer;

    @ApiModelProperty(value = "收款时间")
    private LocalDateTime collectionTime;

    @ApiModelProperty(value = "收款部门")
    private Long departmentId;

    @ApiModelProperty(value = "部门名称")
    private String departmentName;

    @ApiModelProperty(value = "收款金额")
    private BigDecimal receivedAmount;

    @ApiModelProperty(value = "币种ID")
    private Long currencyId;

    @ApiModelProperty(value = "币种名称")
    private String currencyName;

    @ApiModelProperty(value = "汇率")
    private Double exchangeRate;

    @ApiModelProperty(value = "补贴类型1 旅游小费 2 佣金 3 补贴 4 其他")
    private Integer subsidyType;

    @ApiModelProperty(value = "收款方式ID")
    private Long collectionWayId;

    @ApiModelProperty(value = "收款方式")
    private String collectionWayName;

    @ApiModelProperty(value = "附件")
    private List<FileJson> filesJson;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "创建人名称")
    private String createUserName;

    @ApiModelProperty(value = "创建人部门")
    private String createUserDept;

    /*@ApiModelProperty(value = "id列表")
    private List<Long> idList;*/

    @ApiModelProperty(value = "来源信息")
    private List<SupplierOrderSourceDTO> sourceList;

    @ApiModelProperty(value = "定制包团列表")
    private List<SpecialTripScheduleDTO> scheduleList;

    @ApiModelProperty(value = "审批状态")
    private Integer approvalStatus;

    @ApiModelProperty(value = "审批id")
    private Long approvalId;

}
